import { post } from '@/api/requestApi'

const BASE_URL = '/api/User/'

const API_URL = {
  ADD_USER: 'AddUser', //  添加IM用户
  UPDATE_USER: 'UpdateUser', //  修改IM用户
  CHANGER_USER_PASSWORD: 'ChangerUserPassWord', //  修改用户密码
  CHANGER_USER_ENABLED: 'ChangerUserEnabled', //  停/启用户
  LOGIN: 'Login', //  登录
  GET_USER_BY_ID: 'GetUserById', //  根据用户ID获取用户信息
  GET_USER_PAGE: 'GetUserPage', //  分页获取IM用户信息
  GET_USER_BY_ORGANIZATION: 'GetUserByOrganization', // 根据组织架构获取用户
  GET_USER_BY_NAME: 'GetUserByName', //  根据名称获取用户信息
  CHECK_USER_NAME: 'CheckUserName' // 检查用户名是否已存在
}

for (const i in API_URL) {
  API_URL[i] = BASE_URL + API_URL[i]
}

/**
 * 登录
 * @param data
 * @returns {*}
 */
export function login(data) {
  return post(API_URL.LOGIN, data)
}

/**
 * 分页获取IM用户信息
 * @param data
 * @returns {*}
 * @constructor
 */
export function GetUserPage(data) {
  return post(API_URL.GET_USER_PAGE, data)
}

/**
 * 根据组织架构获取用户
 * @param data
 * @returns {*}
 * @constructor
 */
export function GetUserByOrganization(data) {
  return post(API_URL.GET_USER_BY_ORGANIZATION, data)
}

/**
 * 检查用户名是否已存在
 * @param data
 * @returns {*}
 * @constructor
 */
export function CheckUserName(data) {
  return post(API_URL.CHECK_USER_NAME, data)
}

/**
 * 添加IM用户
 * @param data
 * @returns {*}
 * @constructor
 */
export function AddUser(data) {
  return post(API_URL.ADD_USER, data)
}

/**
 * 修改IM用户
 * @param data
 * @returns {*}
 * @constructor
 */
export function UpdateUser(data) {
  return post(API_URL.UPDATE_USER, data)
}

/**
 * 修改用户密码
 * @param data
 * @returns {*}
 * @constructor
 */
export function ChangerUserPassWord(data) {
  return post(API_URL.CHANGER_USER_PASSWORD, data)
}

/**
 * 停/启用户
 * @param data
 * @returns {*}
 * @constructor
 */
export function ChangerUserEnabled(data) {
  return post(API_URL.CHANGER_USER_ENABLED, data)
}

/**
 * 检查CRMID是否已存在绑定
 * @param data
 * @returns {*}
 * @constructor
 */
export function CheckCRMUserID(data) {
  return post(API_URL.CHECK_CRM_USER_ID, data)
}

/**
 * 根据用户ID获取用户信息
 * @param data
 * @returns {*}
 * @constructor
 */
export function GetUserById(data) {
  return post(API_URL.GET_USER_BY_ID, data)
}

/**
 * 根据名称获取用户信息
 * @param data
 * @returns {*}
 * @constructor
 */
export function GetUserByName(data) {
  return post(API_URL.GET_USER_BY_NAME, data)
}
